package ca.etsmtl.log430.lab2;

/**
 * This class defines the Student object for the system. Besides the static
 * attributes, there are two lists maintained. coursesTakenList is a CourseList
 * object that maintains a list of courses that the student has taken.
 * coursesRegistered is also a CourseList object that maintains a list of
 * courses that the student has registered for.
 * 
 * @author A.J. Lattanze, CMU
 * @version 1.2, 2011-Feb-02
 */

/* Modification Log
 ****************************************************************************
 * v1.2, 2011-Feb-02, R. Champagne - Various refactorings, javadoc comments.
 *  
 * v1.1, 2002-May-21, R. Champagne - Adapted for use at ETS. 
 * 
 * v1.0, 12/29/99, A.J. Lattanze - Original version.

 ****************************************************************************/

public class Student {

	/**
	 * Student's Last Name
	 */
	private String lastName;
	
	/**
	 * Student's First Name
	 */
	private String firstName;
	
	/**
	 * Student's identification number
	 */
	private String studentID;
	
	/**
	 * program of study
	 */
	private String program;

	/**
	 *  List of courses taken by the student
	 */
	private CourseList coursesTakenList = new CourseList();

	/**
	 *  List of courses the student is registered for
	 */
	private CourseList coursesRegistered = new CourseList();

	/**
	 * Registers a student for a course by adding a student for a course.
	 * 
	 * @param CourseObject
	 */
	public void register(Course CourseObject) {

		getCoursesRegistered().addCourse(CourseObject);

	} // Register

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getFirstName() {
		return firstName;
	}

	public void setStudentID(String studentID) {
		this.studentID = studentID;
	}

	public String getStudentID() {
		return studentID;
	}

	public void setProgram(String program) {
		this.program = program;
	}

	public String getProgram() {
		return program;
	}

	public void setCoursesTakenList(CourseList coursesTakenList) {
		this.coursesTakenList = coursesTakenList;
	}

	public CourseList getCoursesTakenList() {
		return coursesTakenList;
	}

	public void setCoursesRegistered(CourseList coursesRegistered) {
		this.coursesRegistered = coursesRegistered;
	}

	public CourseList getCoursesRegistered() {
		return coursesRegistered;
	}

} // Student class
